วิธีเพิ่ม Timezone ใน Elastic Beanstalk

วิธีเพิ่ม Timezone ใน Elastic Beanstalk

เราสามารถเปลี่ยนแปลง Timezone ให้กับ EC2 Instance ที่สร้างขึ้นจาก Environment ใน Elastic Beanstalk ได้ ซึ่งในบทความนี้ผมจะมาแนะนำวิธีการเปลี่ยนแปลง Timezone จาก UTC ให้เป็น +07 หรือ Timezone ของเประเทศไทยในบทความนี้ครับ
Clock Icon2022.07.19

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ครั้งนี้ผมจะมาอธิบายเกี่ยวกับ วิธีเพิ่ม Timezone ใน Elastic Beanstalk ครับ

สิ่งที่ต้องมี

ในบทความนี้ผมจะละเว้นการอธิบายในส่วนของ Elastic Beanstalk หากผู้อ่านต้องการเรียนรู้วิธีการเริ่มต้นใช้งาน Elastic Beanstalk ผมขอแนะนำให้อ่านบทความด้านล่างนี้ครับ

เตรียมไฟล์สำหรับ Deploy เพื่อใช้ตั้งค่าใน Elastic Beanstalk

ขั้นตอนนี้ผมจะสร้าง [โฟลเดอร์ .ebextensions] และ [ไฟล์ 02_timezone.config] เพื่อเตรียมไว้ใช้อัปโหลดใน Elastic Beanstalk เพื่อให้สามารถเปลี่ยนแปลง Timezone ของ EC2 Instance ที่สร้างจาก Environment ได้ครับ

ถ้ามีไฟล์ที่มีเนื้อหาการตั้งค่าในโฟลเดอร์ .ebextensions ของโปรเจกต์ที่จะ Deploy แล้ว เนื้อหาการตั้งค่าจะถูกดำเนินการในระหว่างการ Deploy ซึ่งเราสามารถใช้ไฟล์นี้ในการตั้งค่า Timezone ได้ครับ

ทำการเตรียมไฟล์ที่จะใช้ Deploy และเพิ่มการตั้งค่าต่อไปนี้ให้กับไฟล์ครับ

สร้างโฟลเดอร์ .ebextensions และไฟล์ 02_timezone.config

สร้างโฟลเดอร์.ebextensionsจากนั้นคลิกเข้าไปยังโฟลเดอร์และสร้างไฟล์02_timezone.configซึ่งขั้นตอนนี้คือการสร้างไฟล์ที่จะใช้ในการตั้งค่า Timezone ให้กับ EC2 Instance ที่สร้างขึ้นจาก Environment

ทำการตั้งค่า Timezone ด้วยคำสั่งนี้ โดย Copy Code ด้านล่างนี้วางลงในไฟล์ และ Save ลงในโฟลเดอร์ .ebextensions โดยใช้ชื่อไฟล์02_timezone.configครับ

commands:
  01_timezone:
    command: |
      timedatectl set-timezone Asia/Bangkok


เมื่อสามารถรวม ".ebextensions/02_timezone.config" ไว้ในกลุ่มไฟล์ที่ใช้ Deploy แล้ว ให้ทำการบีบอัดไฟล์
หน้าจอด้านล่างนี้คือตัวอย่าง ซึ่งตัวอย่างนี้คือกรณีของโปรเจกต์ที่มีแค่ไฟล์ที่ชื่อว่า info.php ครับ

ดูตัวอย่างที่นี่เฉพาะเนื้อหาการบีบอัดไฟล์นี้ครับ: Compress to ZIP file (2 ไฟล์)

เมื่อเตรียมไฟล์เสร็จแล้ว Deploy ได้เลยครับ

การเชื่อมต่อกับ EC2 ที่สร้างจาก Elastic Beanstalk ด้วย PuTTY

ขั้นตอนต่อไปนี้คือการแสดงผลลัพธ์ใน Terminal ที่ได้จากการตั้งค่าทั้งหมดตามตัวอย่างข้างต้น โดยให้เริ่มทำการตรวจสอบตามนี้ครับ

ดูตัวอย่างที่นี่เฉพาะหัวข้อย่อยนี้: ทำการเชื่อมต่อกับ EC2 ที่สร้างใน Elastic Beanstalk ด้วย PuTTY

รันคำสั่งนี้เพื่อตรวจสอบ Timezone

date

Output (example)
จะเห็นว่า Timezone ปัจจุบันนี้คือ +07 หรือเขตเวลา Asia/Bangkok นั่นเองครับ

root@ip-172-31-30-120:~

Using username "ec2-user".
Authenticating with public key "tinnakorn-test"
Last login: Mon Jul 18 12:20:53 2022 from node-bjt.pool-180-180.dynamic.totinternet.net
  _____ _           _   _      ____                       _        _ _
 | ____| | __   ___| |_(_) ___| __ )  ___  __ _ _ __  ___| |_ __ _| | | __
 |  _| | |/ _ \/ __| __| |/ __|  _ \ / _ \/ _\ | '_ \/ __| __/ _\ | | |/ /
 | |___| | (_| \__ \ |_| | (__| |_) |  __/ (_| | | | \__ \ || (_| | |   <
 |_____|_|\__,_|___/\__|_|\___|____/ \___|\__,_|_| |_|___/\__\__,_|_|_|\_\

 Amazon Linux 2 AMI

 This EC2 instance is managed by AWS Elastic Beanstalk. Changes made via SSH
 WILL BE LOST if the instance is replaced by auto-scaling. For more information
 on customizing your Elastic Beanstalk environment, see our documentation here:
 http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html

[ec2-user@ip-172-31-30-120 ~]$ date
Mon Jul 18 16:47:43 +07 2022
[ec2-user@ip-172-31-30-120 ~]$

เราสามารถตั้งค่า Timezone โดยการตั้งค่านี้ด้วยภาษาโปรแกรมนอกจาก PHP (สภาพแวดล้อม Elastic Beanstalk ที่ใช้ Amazon Linux 2 จะสามารถใช้งานได้ทั้งหมด)

สรุป

การสาธิตนี้ก็ได้เสร็จสิ้นแล้ว ซึ่งเราสามารถเปลี่ยน Timezone ได้ตามที่เราต้องการ เพียงแค่เขียน Code ลงในไฟล์โดยระบุ Timezone ของประเทศที่ต้องการ แล้วบีบอัดไฟล์รวมกันให้เป็น .zip จากนั้น Deploy ไปยัง Elastic Beanstalk และไปตรวจสอบใน Server EC2 ก็จะทำให้เรารู้ว่าปัจจุบันนี้เราใช้ Timezone ของประเทศอะไรอยู่นั่นเองครับ

บทความที่เกี่ยวข้อง

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.